In the recent history of computer system advancements, a substantial issue to facilitate the progress of science and technology has been to establish compatibility between systems and devices developed by different organizations and even geographic locations worldwide. For this reason, there have been efforts to standardize certain communication interfaces and protocols so that independent parties can develop applications and systems that communicate with each other. Without such standardization efforts, technology such as World Wide Web data sharing and communications utilizing the Internet would not be possible.
As a part of these efforts, the Institute of Electrical and Electronic Engineers (IEEE) established a committee to develop communication protocol guidelines for computers so that every computer could communicate with every other computer. Accordingly, an Open Systems Interconnection (OSI) model was developed so that computer systems employing very different technologies can communicate with each other. The OSI model characterizes and standardizes communication functions by utilizing abstraction layers. More specifically, the original OSI model defined seven layers of abstraction that includes a physical layer (PHY) at the lowest level and an application layer at the highest level. In general, an OSI model data packet header includes a header portion that corresponds to each of the seven layers.
The transmission control protocol (TCP) and the Internet protocol (IP) are two network standards that support Internet-based routing and data flow. Essentially, TCP/IP defines how computers may communicate to each other over a routed and interconnected set of networks and network nodes. Accordingly, header systems for data packets often also include TCP/IP header fields that include routing information.
The OSI and TCP/IP network stacks are examples of complex vertically layered protocols that result in headers and tails (or portions thereof) being separately added to a data message via independent processes that correspond to the associated layers. Accordingly, these header portions or headers are not changed at runtime.
Dynamic random-access memory (DRAM) memory standards define fixed standards for communicating with standard DRAM memory devices using low-level commands but are not compatible with emerging Non-volatile random-access memory (NVRAM) timings or processing-in-memory usage. The Hybrid Memory Cube specification defines a fixed packet-based protocol for communication with 3D-stacked memory devices but lacks functionality for processing-in-memory uses. Accordingly, the different communication protocols and associated headers are not optimally suited for every application or communication. Using the OSI model or TCI/IP protocol stacks or other protocols may not be optimal for accessing various types of memory systems or for communications that related to a specific function or application.
The use of the same reference symbols in different drawings indicates similar or identical items. Unless otherwise noted, the word “coupled” and its associated verb forms include both direct connection and indirect electrical connection by means known in the art, and unless otherwise noted any description of direct connection implies alternate embodiments using suitable forms of indirect electrical connection as well.